package com.tvshows.front.ui.favorite;

import java.util.List;

import org.eclipse.swt.widgets.Table;

import com.tvshows.front.controllers.favorite.FavoriteController;
import com.tvshows.front.ui.FrontUI;
import com.tvshows.structure.beans.Favorite;

/**
 * @author tMidy
 * <p>
 * ListCompositeFavoriteView interface
 * </p>
 */
public interface ListCompositeFavoriteUI
    extends FrontUI
{

    /**
     * Loads the favorite from the list
     * @param list the list of favorites
     */
    void loadFavorites( List<Favorite> list );

    /**
     * @return the favoriteTable
     */
    Table getFavoriteTable();

    /**
     * Sets the associated controller
     * @param favoriteController the controller to bind to the view
     */
    void setController( FavoriteController favoriteController );

    /**
     * Updates the delete button
     */
    void majDelete();

    /**
     * @return the name of the selected favorite
     */
    String getSelectedFavorite();

    /**
     * @return true if operation=modify
     */
    boolean isToModify();
}
